/*
 * @Author: Penk
 * @LastEditors: Penk
 * @LastEditTime: 2022-10-31 16:06:01
 * @FilePath: \autojs教程\05-自动刷视频_完整版.js
 */
require("打印控制台.js");

// 打开app
launchApp("抖音极速版");

// 休眠5000毫秒
sleep(5000);

// 全局变量-脚本
var myApp = {};

// 运行操作的概率
var onoff = {
  zanPercent: 80,
  commentPercent: 20,
  starPercent: 80,
  transmitPercent: 50,
}

// 在可视范围内点击按钮
function clickBtnInView(handle) {
  var btn_s = handle.clickable().filter(function (w) {
    var y = w.bounds().centerY();
    return y > 0 && y < device.height;
  }).find();

  if (btn_s.length > 0) {
    btn_s[0].click();
  }
}

// 随机读取一条评论
function randomComment(){
  var arr=["我要买机车","机车真好看","多少钱","保养一次多少钱"];
  return arr[random(0,arr.length-1)];
}

// 点赞
myApp.zan = function () {
  console.log("正在进行点赞...");
  clickBtnInView(descContains("未点赞"));
}
// 评论
myApp.comment = function () {
  console.log("正在进行评论...");
  // 点击评论按钮
  clickBtnInView(descContains("评论"));
  sleep(1000);

  // 输入文字
  setText(randomComment());
  sleep(1000);

  // 点击发送按钮
  desc("发送").findOne().clickCenter();
  sleep(2000);

  // 返回
  back();
}
// 收藏
myApp.star = function () {
  console.log("正在进行收藏...");
  clickBtnInView(descContains("未选中，收藏"));
}
// 转发
myApp.transmit = function () {
  console.log("正在进行转发...");
  clickBtnInView(descContains("分享"));
  sleep(1000);

  // 点击私信朋友
  text("私信朋友").findOne().clickCenter();
  sleep(1000);

  // 点击分享
  var btn = text("分享").find();
  btn[random(0,1)].clickCenter();
  sleep(2000);

  // 返回
  back();
}

// 自动化
myApp.auto = function () {
  if (random(1, 100) <= onoff.zanPercent) {
    this.zan();
    sleep(2000);
  }
  if (random(1, 100) <= onoff.commentPercent) {
    this.comment();
    sleep(2000);
  }
  if (random(1, 100) <= onoff.starPercent) {
    this.star();
    sleep(2000);
  }
  if (random(1, 100) <= onoff.transmitPercent) {
    this.transmit();
    sleep(2000);
  }
}

var i = 1;
// 循环操作
while (true) {
  // 模板字符串
  console.log(`正在浏览第${i++}条视频`);
  // 浏览5秒钟视频
  sleep(5000);
  // 自动刷视频
  myApp.auto();
  // 浏览2秒钟视频
  sleep(2000);
  // 滑动到下一条视频
  gesture(500, [430, 1600], [500, 600]);
}